// user.js
const app = getApp();

Page({
  data: {
    isLoggedIn: false,
    userInfo: null,
    userId: '',
    defaultAvatar: 'https://picsum.photos/id/1005/200/200',
    showLoginPopup: false,
    orderCount: {
      unpaid: 2,
      unconfirmed: 1,
      ongoing: 0,
      refund: 0
    },
    recommendProducts: [
      {
        id: 301,
        title: '美宿 | 西北寻秋 青甘环线7天6晚',
        regionName: '青甘',
        price: 8380,
        originalPrice: 9999,
        rating: 4.8,
        salesCount: 256,
        imageUrl: 'https://picsum.photos/id/1016/200/200'
      },
      {
        id: 302,
        title: '美宿 | 极致装达木 青海5天4晚',
        regionName: '青海',
        price: 6580,
        originalPrice: 7999,
        rating: 4.7,
        salesCount: 189,
        imageUrl: 'https://picsum.photos/id/1019/200/200'
      },
      {
        id: 303,
        title: '轻奢 | 风马遗野 呼伦贝尔4晚5天',
        regionName: '内蒙',
        price: 7980,
        originalPrice: 8999,
        rating: 4.8,
        salesCount: 210,
        imageUrl: 'https://picsum.photos/id/1018/200/200'
      }
    ]
  },

  onLoad: function() {
    // 检查登录状态
    this.checkLoginStatus();
    
    // 获取订单数量
    this.getOrderCount();
    
    // 获取推荐产品
    this.getRecommendProducts();
  },

  onShow: function() {
    // 如果需要每次显示页面都刷新数据，可以在这里调用
  },

  // 检查登录状态
  checkLoginStatus: function() {
    // 检查是否已登录
    const isLoggedIn = app.globalData.isLoggedIn;
    const userInfo = app.globalData.userInfo;
    
    this.setData({
      isLoggedIn: isLoggedIn,
      userInfo: userInfo
    });
    
    if (isLoggedIn) {
      // 获取用户ID
      this.setData({
        userId: 'UT' + Math.floor(Math.random() * 1000000).toString().padStart(6, '0')
      });
      
      // 实际项目中的云函数调用
      // wx.cloud.callFunction({
      //   name: 'getUserInfo',
      //   success: res => {
      //     if (res.result && res.result.data) {
      //       this.setData({
      //         userId: res.result.data.userId
      //       });
      //     }
      //   },
      //   fail: err => {
      //     console.error('获取用户ID失败', err);
      //   }
      // });
    }
  },

  // 获取订单数量
  getOrderCount: function() {
    // 实际项目中应该从服务器获取数据
    // 这里使用模拟数据
    
    // 实际项目中的云函数调用
    // wx.cloud.callFunction({
    //   name: 'getOrderCount',
    //   success: res => {
    //     if (res.result && res.result.data) {
    //       this.setData({
    //         orderCount: res.result.data
    //       });
    //     }
    //   },
    //   fail: err => {
    //     console.error('获取订单数量失败', err);
    //   }
    // });
  },

  // 获取推荐产品
  getRecommendProducts: function() {
    // 实际项目中应该从服务器获取数据
    // 这里使用模拟数据
    
    // 实际项目中的云函数调用
    // wx.cloud.callFunction({
    //   name: 'getRecommendProducts',
    //   success: res => {
    //     if (res.result && res.result.data) {
    //       this.setData({
    //         recommendProducts: res.result.data
    //       });
    //     }
    //   },
    //   fail: err => {
    //     console.error('获取推荐产品失败', err);
    //   }
    // });
  },

  // 登录
  login: function() {
    this.setData({
      showLoginPopup: true
    });
  },

  // 关闭登录弹窗
  closeLoginPopup: function() {
    this.setData({
      showLoginPopup: false
    });
  },

  // 获取用户信息
  onGetUserInfo: function(e) {
    if (e.detail.userInfo) {
      // 用户同意授权
      app.globalData.userInfo = e.detail.userInfo;
      app.globalData.isLoggedIn = true;
      
      this.setData({
        isLoggedIn: true,
        userInfo: e.detail.userInfo,
        showLoginPopup: false
      });
      
      // 获取用户ID
      this.setData({
        userId: 'UT' + Math.floor(Math.random() * 1000000).toString().padStart(6, '0')
      });
      
      wx.showToast({
        title: '登录成功',
        icon: 'success'
      });
      
      // 实际项目中的云函数调用
      // wx.cloud.callFunction({
      //   name: 'login',
      //   data: {
      //     userInfo: e.detail.userInfo
      //   },
      //   success: res => {
      //     if (res.result && res.result.success) {
      //       this.setData({
      //         userId: res.result.userId
      //       });
      //     }
      //   },
      //   fail: err => {
      //     console.error('登录失败', err);
      //   }
      // });
    } else {
      // 用户拒绝授权
      wx.showToast({
        title: '请授权登录',
        icon: 'none'
      });
    }
  },

  // 跳转到设置页面
  goToSetting: function() {
    wx.navigateTo({
      url: '/pages/setting/setting'
    });
  },

  // 跳转到全部订单页面
  goToAllOrders: function() {
    wx.navigateTo({
      url: '/pages/order/list'
    });
  },

  // 跳转到订单列表页面
  goToOrderList: function(e) {
    const status = e.currentTarget.dataset.status;
    
    wx.navigateTo({
      url: `/pages/order/list?status=${status}`
    });
  },

  // 跳转到收藏页面
  goToFavorites: function() {
    wx.navigateTo({
      url: '/pages/user/favorites'
    });
  },

  // 跳转到评价页面
  goToReviews: function() {
    wx.navigateTo({
      url: '/pages/user/reviews'
    });
  },

  // 跳转到联系人页面
  goToContacts: function() {
    wx.navigateTo({
      url: '/pages/user/contacts'
    });
  },

  // 跳转到钱包页面
  goToWallet: function() {
    wx.navigateTo({
      url: '/pages/user/wallet'
    });
  },

  // 跳转到客服页面
  goToCustomerService: function() {
    wx.navigateTo({
      url: '/pages/user/customer-service'
    });
  },

  // 跳转到商家入驻页面
  goToMerchant: function() {
    wx.navigateTo({
      url: '/pages/merchant/apply'
    });
  },

  // 跳转到更多推荐页面
  goToMore: function() {
    wx.navigateTo({
      url: '/pages/search/search'
    });
  },

  // 跳转到商品详情页面
  goToDetail: function(e) {
    const id = e.currentTarget.dataset.id;
    
    wx.navigateTo({
      url: `/pages/detail/detail?id=${id}`
    });
  },

  // 跳转到用户协议页面
  goToUserAgreement: function() {
    wx.navigateTo({
      url: '/pages/agreement/user'
    });
  },

  // 跳转到隐私政策页面
  goToPrivacyPolicy: function() {
    wx.navigateTo({
      url: '/pages/agreement/privacy'
    });
  }
});